package com.joshua.spring.service.inter;

import com.joshua.spring.entity.dto.JobAddDTO;
import com.joshua.spring.entity.dto.JobInstanceDTO;
import com.joshua.spring.entity.dto.JobKeyDTO;
import com.joshua.spring.entity.dto.JobUpdateDTO;

import java.util.List;

/**
 * projectName dragon-cloud
 * package com.joshua.spring.service
 * classname  JobCtrlService
 * <p>
 * description
 * </p>
 *
 * @author <a href="mailto:joshualwork@163.com">joshua_liu</a>
 * @date 2020/9/13 9:46
 */
public interface JobCtrlService {
    /**
     * description:
     *
     * @param dto
     * @return {@link String}
     * @author <a href="mailto:joshualwork@163.com">joshua_liu</a>
     * @date 2020/9/13 10:21
     */
    String addJobByJobTime(JobAddDTO dto);

    /**
     * description:
     *
     * @param dto
     * @return {@link String}
     * @author <a href="mailto:joshualwork@163.com">joshua_liu</a>
     * @date 2020/9/13 10:21
     */
    String addJobByCorn(JobAddDTO dto);

    /**
     * description:
     *
     * @param dto
     * @return {@link String}
     * @author <a href="mailto:joshualwork@163.com">joshua_liu</a>
     * @date 2020/9/13 10:22
     */
    String updateJobCornInfo(JobUpdateDTO dto);

    /**
     * description:
     *
     * @param jobKeyDTO
     * @param optType
     * @return {@link String}
     * @author <a href="mailto:joshualwork@163.com">joshua_liu</a>
     * @date 2020/9/13 10:22
     */
    String optJob(JobKeyDTO jobKeyDTO, String optType);

    /**
     * description:
     *
     * @return {@link List<JobInstanceDTO>}
     * @author <a href="mailto:joshualwork@163.com">joshua_liu</a>
     * @date 2020/9/13 10:22
     */
    List<JobInstanceDTO> queryAllJob();

    /**
     * description:
     *
     * @return {@link List<JobInstanceDTO> }
     * @author <a href="mailto:joshualwork@163.com">joshua_liu</a>
     * @date 2020/9/13 10:22
     */
    List<JobInstanceDTO> queryRunJob();
}
